home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
tex
/
ngs_10.zip
/
NGS.DOC
< prev
next >
Wrap
Text File
|
1994-05-13
|
11KB
|
246 lines
┌───────────────────────────────────────────────────┐
│ │
│ Norton Guides Sourcer (NGS) │
│ version 1.0 │
│ DOCUMENTATION │
│ │
└───────────────────────────────────────────────────┘
1. Copyright
═════════
Norton Guides Sourcer (NGS) and its documentation are:
Copyright 1994, by Kemal Djakman (the author).
NGS can be copied and distributed freely for any non-commercial purposes,
as long as the program NGS.EXE and its accompanying documentation NGS.DOC
are distributed together unmodified. Archiving the above mentioned files
into ZIP, ARJ, etc. to save storage space is hereby allowed.
No payment whatsoever is required for the use of NGS either by private
individuals or by companies/institutions; but NGS may only be incorporated
into a commercial software with the express written permission from the
author.
Warranty
════════
The author makes no warranty of any kind, neither express or implied,
including without limitation, any warranties of merchantability and/or
fitness for a particular purpose. The author shall not be liable for
any damages, whether direct, indirect, special or consequential arising
from a failure of this program to operate in the manner desired by the
user. The author shall not be liable for any damage to data or property
which may be caused directly or indirectly by use of the program.
2. Introduction
════════════
a. What is NGS ?
NGS is a re-sourcer for Norton Guides Database (*1*). It processes a
Guides database file (an .NG file) and tries to recreate the sources.
b. Why would anybody need a Guides (re)-sourcer ?
Three possibilities comes to my mind:
- To do away with the need to have a backup of the original sources.
- You have a Guides Database which needs to be updated or corrected,
for which you don't have the sources.
- You want to convert a Guides database into another format.
*IMPORTANT*
NGS are not meant to encourage the stealing of somebody elses property!
When re-sourcing a Guides database which is created by somebody else,
do not redistribute them as if it was your own! Always maintain the
credits of the original creator!
c. Why NGS?
Although there are already several sourcer available for Norton Guides
Databases, none that I have tried works without a problem. Some of
them does not handle !seealso references to another file, or does not
recreate the '!credits' entry. Others have problem with nested short
lists or long entry included via the !file command. Some crashed or
even goes into infinite-loop, etc.
Because of a personal need to update a Guides database to which I have
lost the sources, I decided to write my own sourcer from scratch.
d. What is so special about NGS ?
Binary Equality (tm): When re-sourcing an .NG file, NGS will do it in
such a way that when the sources are recompiled into an .NG file, the
new file will be equal with the old one: It will be exactly the same,
byte for byte (*2*). This is the only sure fire method to verify the
correctness of the generated sources!
(NGS is also _very_ fast, although this property is probably not very
important to the average user.)
3. Requirement
═══════════
A personal computer with i286+ processor running DOS v3.3 or later with
at least 256Kb of free RAM and available disk space of about 150% of the
size of the .NG file to be resourced.
Additionally, if recompilation into .NG file is intended, the programs
MAKE.EXE and NGC.EXE + NGML.EXE (from Peter Norton Computing, Inc.).
4. Usage
═════
Using NGS is quite simple. At the DOS prompt, just type 'NGS' followed
by the filename of the NG database to be re-sourced. For example:
C:\>ngs qedit
In the above example, NGS will look on the current drive and path for a
file named QEDIT.NG and create the data source files.
The full syntax of NGS invocation is:
NGS [d:][path]filename[.NG] [/M] [/V] [>logfile]
Notes:
- The .NG extension is optional, but no other extension is allowed.
- The output of NGS can be redirected using DOS stdout redirection.
- All files created by NGS will reside on the current drive and directory.
Meaning of the command line options:
/M Create file with the name 'MAKEFILE' instead of '<filename>.MAK'
Some user might prefer this (although this is easy to rename).
/V Verbose mode. Display the begin offset of each structure processed.
Use this to see on which structure an error or warning occurred. Can
also be used to make it possible to stop the running of the program
by pressing Ctrl-Break key sequence.
5. Files created by NGS
════════════════════
filename.mak --> Makefile to compile the sources back into NG file
filename.ngm --> Menu Link Control File
finameXX.ngs --> Data Source File for each menu item in Menu Link Control
File. Filename is created by concatenating a maximum of
6 chars from the basename and a 2 digits signifying menu
number and item number (0 based).
L_XXXXXX.ngs --> Long Entry Data Source File for each long entry included
via the '!file:' bang command. The hex digits correspond
with structure offset in the original NG file.
S_XXXXXX.ngs --> Short Entry Data Source File for each nested short entry
specified using the '!file:' bang command.
6. NGS warning messages
════════════════════
A warning means that an error was detected by NGS in the database, but
it is not severe enough to cause NGS to stop sourcing the database.
The user might later try to rectify the error by modifying the sources.
1. Warning: Seealso does not point to another Long entry
NGS has found a seealso entry which point to a structure other
than a long entry. This might be caused by a corrupted NG file,
or it is an NG file created by other than Norton Guides Compiler.
2. Warning: Seealso "xxxxxxxx" reference is unresolved
NGS has found a seealso title which points to nowhere. This
usually happens when the original source has a !seealso which
refers to an empty short entry or a non-existing short item.
3. Warning: NG binary equality might not be achieved
NGS has seen that the current menu structure has the maximum 8 menu
items under it. Because of a bug in NGML.EXE, certain location
in the .NG file will have part of the first menu item filename.
This results in differences of up to 6 bytes between the original
.NG file and the new recompiled .NG file.
4. Warning: structure does not end with "0"
Each menu structure should be terminated with a null byte.
This might be caused by a corrupted NG file.
7. NGS error messages
══════════════════
An NGS error message will cause immediate halt of the NGS program. The
most probable causes are invalid command line or a corrupted Guides
database file.
1. Error: Unknown command line option. See usage.
2. Error: Multiple filename specified. See usage.
3. Error: Filename with .NG extension is expected.
4. Error: Specified file cannot be found
5. Error: NG file is corrupted (File is too small to be an NG file)
6. Error: NG file is corrupted (Missing signature)
7. Error: NG file is corrupted (Menu count <1 or >10)
8. Error: NG file is corrupted (Menu ite